'\" te
'\"! tbl|eqn | mmdoc
'\"macro stdmacro
.ds Vn Version 1.2
.ds Dt 24 September 1999
.ds Re Release 1.2.1
.ds Dp Jan 14 18:30
.ds Dm 01 getmap.gl
.ds Xs 19970 5 getmap.gl
.TH GLGETMAP 3G
.SH NAME
.B "glGetMapdv, glGetMapfv, glGetMapiv
\- return evaluator parameters

.SH C SPECIFICATION
void \f3glGetMapdv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetMapdv( 'u
	GLenum \fIquery\fP,
	GLdouble \fI*v\fP )
.fi
void \f3glGetMapfv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetMapfv( 'u
	GLenum \fIquery\fP,
	GLfloat \fI*v\fP )
.fi
void \f3glGetMapiv\fP(
GLenum \fItarget\fP,
.nf
.ta \w'\f3void \fPglGetMapiv( 'u
	GLenum \fIquery\fP,
	GLint \fI*v\fP )
.fi

.EQ
delim $$
.EN
.SH PARAMETERS
.TP \w'\f2target\fP\ \ 'u 
\f2target\fP
Specifies the symbolic name of a map.
Accepted values are
\%\f3GL_MAP1_COLOR_4\fP,
\%\f3GL_MAP1_INDEX\fP,
\%\f3GL_MAP1_NORMAL\fP,
\%\f3GL_MAP1_TEXTURE_COORD_1\fP,
\%\f3GL_MAP1_TEXTURE_COORD_2\fP,
\%\f3GL_MAP1_TEXTURE_COORD_3\fP,
\%\f3GL_MAP1_TEXTURE_COORD_4\fP,
\%\f3GL_MAP1_VERTEX_3\fP,
\%\f3GL_MAP1_VERTEX_4\fP,
\%\f3GL_MAP2_COLOR_4\fP,
\%\f3GL_MAP2_INDEX\fP,
\%\f3GL_MAP2_NORMAL\fP,
\%\f3GL_MAP2_TEXTURE_COORD_1\fP,
\%\f3GL_MAP2_TEXTURE_COORD_2\fP,
\%\f3GL_MAP2_TEXTURE_COORD_3\fP,
\%\f3GL_MAP2_TEXTURE_COORD_4\fP,
\%\f3GL_MAP2_VERTEX_3\fP, and
\%\f3GL_MAP2_VERTEX_4\fP.
.TP
\f2query\fP
Specifies which parameter to return.
Symbolic names
\%\f3GL_COEFF\fP,
\%\f3GL_ORDER\fP, and
\%\f3GL_DOMAIN\fP are accepted.
.TP
\f2v\fP
Returns the requested data.
.SH DESCRIPTION
\%\f3glMap1\fP and \%\f3glMap2\fP define evaluators.
\%\f3glGetMap\fP returns evaluator parameters.
\f2target\fP chooses a map,
\f2query\fP selects a specific parameter,
and \f2v\fP points to storage where the values will be returned.
.P
The acceptable values for the \f2target\fP parameter are described
in the \%\f3glMap1\fP and \%\f3glMap2\fP reference pages.
.P
\f2query\fP can assume the following values:
.TP 15
\%\f3GL_COEFF\fP
\f2v\fP returns the control points for the evaluator function.
One-dimensional evaluators return $order$ control points,
and two-dimensional evaluators return $uorder ~times~ vorder$ control points.
Each control point consists of one, two, three, or four integer,
single-precision floating-point,
or double-precision floating-point values,
depending on the type of the evaluator.
The GL returns two-dimensional control points in row-major order,
incrementing the $uorder$ index quickly
and the $vorder$ index after each row.
Integer values,
when requested,
are computed by rounding the internal floating-point values to the
nearest integer values. 
.TP
\%\f3GL_ORDER\fP
\f2v\fP returns the order of the evaluator function.
One-dimensional evaluators return a single value,
$order$. The initial value is 1.
Two-dimensional evaluators return two values,
$uorder$ and $vorder$. The initial value is 1,1. 
.TP
\%\f3GL_DOMAIN\fP
\f2v\fP returns the linear $u$ and $v$ mapping parameters.
One-dimensional evaluators return two values,
$u1$ and $u2$,
as specified by \%\f3glMap1\fP.
Two-dimensional evaluators return four values
($u1$, $u2$, $v1$, and $v2$)
as specified by \%\f3glMap2\fP.
Integer values,
when requested,
are computed by rounding the internal floating-point values to the
nearest integer values.
.SH NOTES
If an error is generated,
no change is made to the contents of \f2v\fP.
.SH ERRORS
\%\f3GL_INVALID_ENUM\fP is generated if either \f2target\fP or \f2query\fP is not
an accepted value.
.P
\%\f3GL_INVALID_OPERATION\fP is generated if \%\f3glGetMap\fP
is executed between the execution of \%\f3glBegin\fP
and the corresponding execution of \%\f3glEnd\fP.
.SH SEE ALSO
\%\f3glEvalCoord(3G)\fP,
\%\f3glMap1(3G)\fP,
\%\f3glMap2(3G)\fP
